---
title: Astro 사이트를 Space에 배포하세요
description: Space에 Astro 사이트를 구축하는 방법.
type: deploy
i18nReady: true
---

import InstallGuideTabGroup from '~/components/TabGroup/InstallGuideTabGroup.astro';
import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro'

[Deta Space](https://deta.space/developers)는 클라우드, 즉 '개인용 클라우드'에 존재하는 개인용 컴퓨터입니다. 나만의 "Space"에서 직접 앱을 만들고 실행할 수 있습니다. 자신이 만든 앱을 게시하면 전 세계 사람들을 위해 실행될 수 있습니다.

이 안내서에는 Space에서 사이트를 구축하기 위한 단계별 지침이 포함되어 있습니다. 정적 및 ([`@astrojs/node` 어댑터](/ko/guides/integrations-guide/node/)를 사용하여) 서버 측 렌더링된 Astro 사이트가 모두 지원됩니다.

:::note
Space는 현재 [Node.js 16](https://deta.space/docs/en/build/quick-starts/node/)만 지원하므로 다음 지침은 v3.0+ Astro 프로젝트에는 작동하지 않습니다.
:::

## 전제 조건

Astro 사이트를 Space로 푸시하려면 먼저 다음을 확인하세요.

- [Space 계정](https://deta.space)을 생성하세요.
- [Space CLI](https://deta.space/docs/en/build/reference/cli)를 설치하고 로그인하세요.

Astro 프로젝트 디렉터리 **내부**에 Space 프로젝트를 만듭니다. CLI를 실행하고 화면의 지시를 따릅니다.

```bash
space new
```

:::note
Space CLI는 앱 구성을 자동 감지하려고 시도합니다. 제안된 구성을 수락한 다음 배포하려는 Astro 앱 유형에 따라 아래 지침을 따르세요.
:::

## 프로젝트 구성

### 정적 사이트

Space CLI에서 생성된 프로젝트 루트의 `Spacefile` 파일을 다음과 같이 변경합니다.

1. engine을 `static`으로 변경합니다.
2. `commands` 목록에 Astro의 빌드 명령을 추가합니다.
3. Astro가 생성한 `dist` 디렉터리를 제공합니다.

```yaml title="Spacefile" {6,8,9}
# Spacefile 문서: https://deta.space/docs/en/build/reference/spacefile
v: 0
micros:
  - name: static-astro-in-space
    src: .
    engine: static
    commands:
      - npm run build
    serve: dist
```

### 서버 측 렌더링 사이트

Space CLI에서 생성된 프로젝트 루트의 `Spacefile` 파일을 다음과 같이 변경합니다.

1. `nodejs16` 엔진을 구성합니다.
2. `build` 명령을 추가합니다.
3. Astro에서 생성된 `dist` 디렉터리를 포함합니다.
4. node 명령을 실행합니다.

```yaml title="Spacefile" {6,8,10,11}
# Spacefile 문서: https://deta.space/docs/en/build/reference/spacefile
v: 0
micros:
  - name: ssr-astro-in-space
    src: .
    engine: nodejs16
    commands:
      - npm run build
    include:
      - dist
    run: "node ./dist/server/entry.mjs"
```

## 배포 방법

다음 명령어를 사용하여 프로젝트를 배포합니다.

```bash
space push
```

그러면 빌드 프로세스가 실행되어 Astro 앱에 액세스할 수 있는 새로운 [Space 앱 인스턴스](https://deta.space/docs/en/build/fundamentals/development/builder-instance#for-testing)가 생성됩니다.

기본적으로 Space 앱은 비공개이며 나만 액세스할 수 있습니다.

다른 사람이 앱을 사용할 수 있도록 하기위해 [Public Routes](https://deta.space/docs/en/build/reference/spacefile#public_routes)를 사용하여 앱의 일부를 공개할 수 있습니다. 또는 [릴리스를 생성](https://deta.space/docs/en/publish/releasing#releases)하여 다른 사람들이 자신의 개인 클라우드에 앱을 설치하도록 할 수 있습니다.

## 다음 단계

- [Space 프로젝트에 더 많은 컴퓨팅 추가](https://deta.space/docs/en/build/fundamentals/the-space-runtime/micros#adding-a-micro)
- [Space 프로젝트를 위한 데이터 저장](https://deta.space/docs/en/build/fundamentals/data-storage#content)
- [Space 앱 실행](https://deta.space/docs/en/publish/releasing#releases)

## 예시

- [Astro in Space](https://github.com/BogDAAAMN/astro-in-space) – GitHub
